feat: v3.6.0 — classic/bold redesigned as native 5-row fonts with distinct glyph shapes#23
Merged
Conversation
…tinct glyph shapes
classic and bold were reduced in v3.5.0/v3.5.1 to the `block` font merely
re-inked with shade characters (classic=░, bold=▓) — they had no distinct
glyph shape, and bold's shade read nearly identical to block. Cycling the
three solid styles with `d` showed little observable change, and the original
terminal-numeral designs had been deleted rather than adapted.
This redesigns classic and bold as NATIVE 5-row fonts with genuinely distinct
glyph SHAPES, both inked with solid █:
- classic: cornered/open "rounded-terminal" numerals (notched corners, open
interiors → a softer, stylized silhouette).
- bold: heavy-slab numerals (filled corners + interior texture → a visibly
heavier weight).
Both keep the EXACT 5-row × 4-col block footprint (STYLE_METRICS unchanged), so
cycling never shifts the layout and both render their own glyphs at every window
size — including a minimized, non-zen window with session metadata — with no
fallback to block and no towering. The three solid styles (block/classic/bold)
are now distinguished by SHAPE + stroke weight, not by shade fill (the shade
approach was geometrically incapable of differentiating three solid styles at
the locked 5×4 footprint).
Glyph tables use only █/space so they cell-repeat scale cleanly exactly like
block. Every digit differs from block in ≥2 cells; classic differs from bold
in ≥4 cells; all legible at scale 1 in a minimized window. Removed the
shade-fill machinery (CLASSIC_FILL/BOLD_FILL/renderShaded).
Verification: build/typecheck/lint clean; 602 tests pass; footprint+shape
parity sweep and a no-fallback render at the reported 84×17 minimized window
both PASS. MINOR release; public default stays block; cycle order unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
classicandboldwere reduced in v3.5.0/v3.5.1 to theblockfont merely re-inked with shade characters (classic=░, bold=▓). They had no distinct glyph shape — just block with a different fill — and bold's▓read nearly identical to block's█. Cycling the three solid styles withdshowed little observable change, and the original terminal-numeral letterforms had been deleted rather than adapted to the locked footprint.This PR closes the recurring pattern from v3.3.1 → v3.5.1: the real defect was always geometry (the original classic/bold were 9-row, 5/6-wide → didn't fit the 5-row × 4-col footprint), and prior fixes either clamped or replaced the fonts instead of redesigning them natively.
The fix
classicandboldare now native 5-row fonts with genuinely distinct glyph shapes, both inked with solid█:classic— cornered/open rounded-terminal numerals (notched corners, open interiors → softer, stylized silhouette).bold— heavy-slab numerals (filled corners + interior texture → visibly heavier weight).Both keep the exact 5-row × 4-col block footprint (
STYLE_METRICSunchanged), so:dnever shifts the layout,The three solid styles (block/classic/bold) are now distinguished by shape + stroke weight, not by shade fill (shades couldn't differentiate three solid styles at 5×4). Glyph tables use only
█/space so they cell-repeat scale cleanly exactly like block.Verification (all PASS)
build✓ ·typecheck✓ ·lint✓ · 602 tests pass.MINOR release. Public default stays
block. Cycle order unchanged (block → simple → outline → minimal → classic → bold).🤖 Generated with Claude Code